#ATM机的存取款功能
#ATM角色 50000
#用户角色 5000
#1、先登录
#   根据用户登录
#2、菜单界面
#   1、取款
#      用户的账户金额就减少了500
#   2、存款
#      用户的账户金额就增加了500块
#   3、查询
#      用户的账户金额显示

atm = 50000  # 定义atm机的总余额
# 定义用户名、密码、用户卡内的余额，放在一个字典里
user_dict = {"root":{"passwd":"123456","balance":5000},"suda":{"passwd":"499499","balance":10000}}
# print(user_dict["root"]["balance"])

# 函数的作用其实很简单，其实就是接收一个参数然后返回一个值，或者说帮我们做一件事情
# 写第一个函数，用来验证登录是否成功
def login(username,passwd):
    # 通过username获取user_dict里的passwd,再比较获取到的passwd和传进来的passwd是否一致
    if username in user_dict and passwd == user_dict[username]["passwd"]:
        return True
# 思考是不是字典的key要用"in"判断,value值得用"=="判断
# in 表示在不在，==表示得完全相等

# 写第二个函数，实现取款功能
def get_money(money,user):
    # 判断余额是否足够(ATM余额和用户余额)
    global atm # atm是全局变量，函数里面使用全局变量需要使用global关键字
    if money <= user_dict[user]["balance"] and money <= atm:
        atm -= money
        user_dict[user]["balance"] -= money
    else:
        print("你的余额不足")

# 写第三个函数，实现存款功能
def save_money(money,user):
    global atm
    atm += money
    user_dict[user]["balance"] += money

user = input("请输入用户名:")
passwd = input("请输入密码:")
# 先要登录成功，才能够返回出来菜单
if login(user, passwd):# 返回值为True
    print("Welcome to sanchuang atm!")
    while True:
        print("1、取款\n2、存款\n3、查询\n4、退出")
        choose = input("请输入你的选择:")
        if choose == "1":
            money = int(input("请输入你的取款金额:"))
            get_money(money,user)
        elif choose == "2":
            money = int(input("请输入你的存款金额:"))
            save_money(money,user)
        elif choose == "3":
            print(f'你的卡内余额为{user_dict[user]["balance"]}')
        elif choose == "4":
            print("Thank you for using sanchuang atm!")
            break
elif user in user_dict:
    print("密码输入错误")
else:
    print("用户名输入错误")
        # print(f'当前atm机余额为{atm}')
        # print(f'当前用户余额为{user_dict[user]["balance"]}')






# print("欢迎使用ATM机！")
# lst = [('root','123456'),('suda','499499')]
# user = input("请输入用户名：")
# passwd = input("请输入密码：")
# if (user,passwd) in lst:
#     print("登录成功")
# else:
#     print("登录失败")
